home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
011-020
/
amok11
/
trackdisksupport
/
trackdemo.mod
< prev
next >
Wrap
Text File
|
1993-11-04
|
2KB
|
72 lines
MODULE TrackDemo;
FROM Exec IMPORT Byte;
FROM TrackDisk IMPORT badDriveType;
FROM InOut IMPORT WriteString, WriteLn, WriteInt, Write;
FROM Heap IMPORT AllocMem;
FROM TrackDiskSupport IMPORT OpenTrackDisk, CloseTrackDisk, GetDiskChange,
ChangeState, ProtStatus, Motor, ReadBlock,
GetDriveType, GetNumTracks;
VAR
dev: INTEGER;
err: Byte;
Buffer: POINTER TO ARRAY[0..511] OF CHAR;
BEGIN
AllocMem(Buffer,SIZE(Buffer^),TRUE);
IF Buffer=NIL THEN
WriteString("No free Memory"); WriteLn;
ELSE
FOR dev := 0 TO 3 DO
WriteString("Drive # "); WriteInt(dev,1);
err := OpenTrackDisk(dev,TRUE);
IF err=badDriveType THEN
WriteString(" not connected"); WriteLn;
ELSIF err#0 THEN
WriteString(" Error:"); WriteInt(err,4); WriteLn;
ELSE
WriteString(" ok");
WriteLn;
WriteString(" DiskChangeCount:");
WriteInt(GetDiskChange(dev),5);
WriteLn;
IF ChangeState(dev) THEN
WriteString(" Disk in Drive");
ELSE
WriteString(" No Disk in Drive");
END;
WriteLn;
IF ProtStatus(dev) THEN
WriteString(" Write enabled");
ELSE
WriteString(" Write protected");
END;
WriteLn;
err := ReadBlock(dev,0,Buffer,1,GetDiskChange(dev));
IF err#0 THEN
WriteString("Couldn't read block! Error: "); WriteInt(err,4);
ELSE
WriteString(" DiskID: ");
Write(Buffer^[0]); Write(Buffer^[1]);
Write(Buffer^[2]); Write(Buffer^[3]);
END;
WriteLn;
IF GetDriveType(dev)=1 THEN
WriteString(' 3.5" Drive');
ELSE
WriteString(' 5.25" Drive');
END;
WriteLn;
WriteString(" Tracks: "); WriteInt(GetNumTracks(dev),5); WriteLn;
IF Motor(dev,FALSE) THEN END;
CloseTrackDisk(dev);
END; (* IF OpenTrackDisk()#0 THEN ELSE *)
END; (* FOR dev := 0 TO 3 DO *)
END; (* IF Buffer=NIL THEN ELSE *)
END TrackDemo.